#import <Foundation/Foundation.h>

#import "BasicTypes.h"

@interface UserPreferences : NSObject

//+ (void)clear;

//+ (NSUInteger64)userId;
// [TRICKY] setUserId will clear other preference value, such as screenName, version...
// so call setUserId first then set the other preferences
//+ (void)setUserId:(NSUInteger64)uid;

+ (NSString*)rstToken;
+ (void)setRstToken:(NSString*)token;

//+ (NSString*)version;
//+ (void)setVersion:(NSString*)version;
//
//+ (NSString*)screenName;
//+ (void)setScreenName:(NSString*)name;
//
//+ (NSString*)avatarUrl;
//+ (void)setAvatarUrl:(NSString*)url;
//
//+ (NSUInteger64)syncVersion;
//+ (void)setSyncVersion:(NSUInteger64)version;
//
//+ (NSUInteger)schooldId;
//+ (void)setSchooldId:(NSInteger)sid;
//
//+ (NSString*)schoolName;
//+ (void)setSchoolName:(NSString*)name;
//
//+ (NSString*)creditStatus;
//+ (void)setCreditStatus:(NSString*)status;
//
//+ (BOOL)haveWritePermission;
//+ (BOOL)haveInviteCodePermission;
//+ (BOOL)needVerification;
//+ (BOOL)needActivate;
//
//+ (void)luckyMeSurvived;
//
//+ (void)saveUserProfile:(id)data;
//
//+ (void)savePurgeData:(id)data;
//+ (NSUInteger64)tsPurgeBegin;
//+ (NSUInteger64)tsPurgeEnd;
//
//+ (NSString*)userEmail;
//+ (void)setUserEmail:(NSString*)userEmail;
//
//+ (BOOL)noRemoteNotification;
//+ (void)setNoRemoteNotification:(BOOL)value;
//
//+ (BOOL)noVibrateWithNewMessages;
//+ (void)setNoVibrateWithNewMessages:(BOOL)value;
//
//+ (void)saveUnreadNotificationCount:(NSUInteger)count;
//+ (NSUInteger)unreadNotificationCount;

@end
